import Command from "./command"
export class EmbedMediaCommand extends Command {
  declare payload: { assetId; assetType; src }
  constructor(assetId: string, assetType: any, src: string) {
    super()
    this.id = "EMBED_MEDIA"
    this.payload = { assetId, assetType, src }
  }
}
export class LoadEmbeddedMediaCommand extends Command {
  declare payload: { attachment }
  constructor(attachment: any) {
    super()
    this.id = "LOAD_ATTACHMENT_EMBED"
    this.payload = { attachment }
  }
}
export class UploadAttachmentsCommand extends Command {
  declare payload: { assetId; assetType; uploads }
  constructor(assetId: any, assetType: any, uploads: any) {
    super()
    this.id = "UPLOAD_ATTACHMENTS"
    this.payload = { assetId, assetType, uploads }
  }
}
export class AddTagAttachmentCommand extends Command {
  declare payload: {
    assetId
    attachmentCategory
    mediaType
    src
  }
  constructor(assetId: any, attachmentCategory: any, mediaType: any, src: any) {
    super()
    this.id = "ADD_TAG_ATTACHMENT"
    this.payload = {
      assetId,
      attachmentCategory,
      mediaType,
      src
    }
  }
}
export class ConfirmAttachmentChangesCommand extends Command {
  constructor(e, t, i, n) {
    super()
    this.id = "CONFIRM_ATTACHMENT_CHANGES"
    this.payload = {
      assetId: e,
      assetType: t,
      prevAssetId: i,
      prevAssetType: n
    }
  }
}
export class CancelAttachmentChangesCommand extends Command {
  constructor() {
    super(...arguments)
    this.id = "CANCEL_ATTACHMENT_CHANGES"
  }
}
export class AttachmentViewerCommand extends Command {
  constructor(e?, t?, i?) {
    super()
    this.payload = { open: e, attachments: t, attachmentId: i }
  }
}
export class RemoveAttachmentCommand extends Command {
  constructor(e) {
    super()
    this.id = "REMOVE_ATTACHMENT"
    this.payload = { attachment: e }
  }
}
